import { generate } from "./generate"
import { parseHTML } from "./parseHTML"

// 对模板进行编译处理
export function compileToFunctions (template) {
  // 1. 将 template 转化成 ast 语法树
  // 2. 生成 render 方法（render方法执行后的返回结果就是虚拟DOM）
  const ast = parseHTML(template)
  const code = generate(ast)
  const render = new Function(
    `with(this){return ${code}}`
  )
  return render
}